<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<meta name="keywords" content="spring,Spring,java,web,程序员,博客,IT,技术,移动开发,Web前端,企业架构,编程语言,互联网,数据库,技术博客,blog,分布式架构,分布式">
		<meta name="description" content="cdcoder是一个程序员学习交流平台，深度IT技术博客，移动开发博客,Web前端博客,企业架构博客,编程语言博客,互联网博客,数据库博客,IT blog,核心关注IT知识传播，共享。为更好的IT产业贡献一份微薄的力量。">
		<link rel="shortcut icon" href="/img/code.ico" />
		<link rel="bookmark" href="/img/code.ico" />
		<title>java相关知识</title>
		<link href="../css/index.css" rel="stylesheet">
		<style>
			body {
				font-size: 16px;
				font: 400 16px/1.62 Georgia, "Xin Gothic", "Hiragino Sans GB", "Droid Sans Fallback", "Microsoft YaHei", sans-serif;
				font-family: 'PT serif', 微軟正黑體, 微软雅黑, 华文细黑, Microsoft Yahei, Hiragino Sans GB, sans-serif;
				color: #D0CCCC;

				text-shadow: 0px 0px 1px rgba(24, 22, 22, 0.35);
				background-color: #000;
			}
		</style>
	</head>
	<body>

		<header>
			<div class="logo"><a href="/index.html">徐思润博客</a></div>
			<nav>
				<ul id="starlist">
					<li><a href="/java/index.html">java</a></li>
					<li><a href="/data/index.html">算法与数据结构</a></li>
					<li><a href="/db/mysql.html">数据库</a></li>
					<li><a href="/distribution/index.html">分布式</a></li>
					<li><a href="/framework/index.html">架构</a></li>
					<li><a href="/interview/index.html">面试与被面试</a></li>
					<li><a href="/live/index.html">日常生活</a></li>
					<li><a href="/about.html">关于我</a></li>
					<li><a href="/baby/index.html">baby墙</a></li>
				</ul>
			</nav>
		</header>
		<div class="box">
			<div style="width: 60%;">
				<div style="text-align: center;">
					<h1>设计模式</h1>
				</div>
				<p>来张图看下设计模式的归类 <span style="font-size:small;">下面慢慢的总结和说明</samp></p>

				<img src="https://picabstract-preview-ftn.weiyun.com/ftn_pic_abs_v3/e9969893a457db6f43c8f209c6a41e6f444fc1cb0ad6842b95cb175feb96b5577347c2635d6dd8e25269a36c95096f63?pictype=scale&from=30113&version=3.3.3.3&uin=182478932&fname=%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F.jpg&size=750">

				<h2>创建型模式：</h2>
				<h3>&nbsp;&nbsp;&nbsp;创建型模式概述：</h3>

				<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;创建型模式(Creational
					Pattern)对类的实例化过程进行了抽象，能够将软件模块中对象的创建和对象的使用分离。为了使软件的结构更加清晰，外界对于这些对象只需要知道它们共同的接口，而不清楚其具体的实现细节，使整个系统的设计更加符合单一职责原则。</li>
					<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;创建型模式在创建什么(What)，由谁创建(Who)，何时创建(When)等方面都为软件设计者提供了尽可能大的灵活性。创建型模式隐藏了类的实例的创建细节，通过隐藏对象如何被创建和组合在一起达到使整个系统独立的目的。
					</li>
					<ul>
						<li><a href="singleton.html"><strong>单例模式（Singleton Pattern）</a></li>
					</ul>
					<ul>
						<li><a href='prototype_pattern.html'>原型模式(Prototype Pattern)</a></li>
					</ul>
					<ul>
						<li><a href="builder_pattern.html">建造者模式（Builder Pattern）</a></li>

					</ul>
					<ul>
						<li><strong>工厂模式：</strong></li>
						<ul>
							<li><a href="static_factory_method.html">简单工厂模式（Static Factory Method）</a></li>
							<li><a href="factory-kit.html">工厂方法模式（Factory Method）</a></li>
							<li><a href="abstract_factory_pattern.html">抽象工厂模式（Abstract Factory Pattern）</a></li>
						</ul>
					</ul>
					 
					<p></p>
					<h2>结构型模式：</h2>
					<blockquote>
						<h3>结构型模式概述：</h3>
					</blockquote>
					<ul>
						<li>
							<p><strong>结构型模式(Structural Pattern)：</strong> 描述如何将类或者对象结合在一起形成更大的结构，就像搭积木，可以通过简单积木的组合形成复杂的、功能更为强大的结构
								<img src='https://picabstract-preview-ftn.weiyun.com/ftn_pic_abs_v3/414f8b4300f97cfc6e8eba859db019a337682ec3ca733e784cd1147e33515c2416a2670c3bc6ff851ab27eb81ae468ae?pictype=scale&from=30113&version=3.3.3.3&uin=182478932&fname=jmu.jpg&size=750' alt='结构型模式(Structural Pattern)'
								 referrerPolicy='no-referrer' /></p>
						</li>
						<li>
							<p><strong>结构型模式可以分为类结构型模式和对象结构型模式：</strong> </p>
							<ul>
								<li>类结构型模式关心类的组合，由多个类可以组合成一个更大的系统，在类结构型模式中一般只存在继承关系和实现关系。</li>
								<li>对象结构型模式关心类与对象的组合，通过关联关系使得在一个类中定义另一个类的实例对象，然后通过该对象调用其方法。根据“合成复用原则”，在系统中尽量使用关联关系来替代继承关系，因此大部分结构型模式都是对象结构型模式。</li>
							</ul>
						</li>

					</ul>
					<ul>
						<li><a href="adapter_pattern.html">适配器模式（Adapter Pattern）</a></li>

					</ul>
					<p><a href='https://segmentfault.com/a/1190000011856448'>深入理解适配器模式——加个“适配器”以便于复用</a></p>
					<p><a href='https://www.ibm.com/developerworks/cn/java/j-lo-adapter-pattern/index.html'>适配器模式原理及实例介绍-IBM</a></p>
					<ul>
						<li><strong>桥接模式：</strong></li>

					</ul>
					<p><a href='https://blog.csdn.net/yangzl2008/article/details/7670996'>设计模式笔记16：桥接模式(Bridge Pattern)</a></p>
					<ul>
						<li><strong>组合模式：</strong></li>

					</ul>
					<p><a href='https://blog.csdn.net/lmb55/article/details/51039781'>大话设计模式—组合模式</a></p>
					<ul>
						<li><strong>装饰模式：</strong></li>

					</ul>
					<p><a href='https://www.cnblogs.com/chenxing818/p/4705919.html'>java模式—装饰者模式</a></p>
					<p><a href='https://blog.csdn.net/cauchyweierstrass/article/details/48240147'>Java设计模式-装饰者模式</a></p>
					<ul>
						<li><strong>外观模式：</strong></li>

					</ul>
					<p><a href='https://www.cnblogs.com/lthIU/p/5860607.html'>java设计模式之外观模式（门面模式）</a></p>
					<ul>
						<li><strong>享元模式：</strong></li>

					</ul>
					<p><a href='http://www.jasongj.com/design_pattern/flyweight/'>享元模式</a></p>
					<ul>
						<li><strong>代理模式：</strong></li>

					</ul>
					<p><a href='https://www.ibm.com/developerworks/cn/java/j-lo-proxy-pattern/index.html'>代理模式原理及实例讲解 （IBM出品，很不错）</a></p>
					<p><a href='https://blog.csdn.net/briblue/article/details/73928350'>轻松学，Java 中的代理模式及动态代理</a></p>
					<p><a href='https://blog.csdn.net/justloveyou_/article/details/74203025'>Java代理模式及其应用</a></p>
					<h2>行为型模式</h2>
					<blockquote>
						<h3>行为型模式概述：</h3>
					</blockquote>
					<ul>
						<li>行为型模式(Behavioral Pattern)是对在不同的对象之间划分责任和算法的抽象化。</li>
						<li>行为型模式不仅仅关注类和对象的结构，而且重点关注它们之间的相互作用。</li>
						<li>通过行为型模式，可以更加清晰地划分类与对象的职责，并研究系统在运行时实例对象之间的交互。在系统运行时，对象并不是孤立的，它们可以通过相互通信与协作完成某些复杂功能，一个对象在运行时也将影响到其他对象的运行。 </li>

					</ul>
					<p><strong>行为型模式分为类行为型模式和对象行为型模式两种：</strong></p>
					<ul>
						<li><strong>类行为型模式：</strong> 类的行为型模式使用继承关系在几个类之间分配行为，类行为型模式主要通过多态等方式来分配父类与子类的职责。</li>
						<li><strong>对象行为型模式：</strong>
							对象的行为型模式则使用对象的聚合关联关系来分配行为，对象行为型模式主要是通过对象关联等方式来分配两个或多个类的职责。根据“合成复用原则”，系统中要尽量使用关联关系来取代继承关系，因此大部分行为型设计模式都属于对象行为型设计模式。</li>

					</ul>
					
					<ul>
						<li><strong>职责链模式：</strong></li>

					</ul>
					<p><a href='https://blog.csdn.net/jason0539/article/details/45091639'>Java设计模式之责任链模式、职责链模式</a></p>
					<p><a href='https://www.cnblogs.com/lizo/p/7503862.html'>责任链模式实现的三种方式</a></p>
					<ul>
						<li><strong>命令模式：</strong></li>

					</ul>
					<p>&nbsp;</p>
					<ul>
						<li><strong>解释器模式：</strong></li>
						<li><strong>迭代器模式：</strong></li>
						<li><strong>中介者模式：</strong></li>
						<li><strong>备忘录模式：</strong></li>
						<li><strong>观察者模式：</strong></li>
						<li><strong>状态模式：</strong></li>
						<li><strong>策略模式：</strong></li>
						<li><strong>模板方法模式：</strong></li>
						<li><strong>访问者模式：</strong></li>

					</ul>
					<p>&nbsp;</p>


			</div>
		</div>
		<footer>
			<p>Design by <a href="http://cdcoder.cn" target="_blank">徐思润个人博客</a> </p>
			<p>备案号：<a href="/">蜀ICP备15014105号-1</a></p>
				<script type="text/javascript" src="https://s96.cnzz.com/z_stat.php?id=1277229191&web_id=1277229191"></script>
		</footer>

	</body>
</html>
